-
Notifications
You must be signed in to change notification settings - Fork 976
feat(docs): add developer documentation #9241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This commit introduces a new developer documentation hub under the `devdocs` directory. The goal of this new documentation is to provide a comprehensive resource for developers working on the Firestore JS SDK. The new documentation includes: - **Overview:** A high-level overview of the SDK, its goals, and architecture. - **Prerequisites:** A guide for new contributors, outlining the necessary skills and knowledge. - **Architecture:** A detailed explanation of the SDK's architecture, core components, and data flow. - **Code Layout:** A document that explains the structure of the codebase. - **Build & Testing:** Initial documents for the build and testing processes.
|
Size Report 1Affected ProductsNo changes between base commit (55f3f83) and merge commit (007fd4f).Test Logs |
Size Analysis Report 1Affected ProductsNo changes between base commit (55f3f83) and merge commit (007fd4f).Test Logs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. A few minor comments below.
|
||
1. **API Layer**: A user initiates a write operation (e.g., `setDoc`, `updateDoc`, `deleteDoc`). | ||
2. **Sync Engine**: The call is routed to the Sync Engine, which wraps the operation in a "mutation". | ||
3. **Mutation Queue (in Local Store)**: The Sync Engine adds this mutation to the Mutation Queue. The queue is persisted to the **Persistence Layer** (IndexedDB). At this point, the SDK "optimistically" considers the write successful locally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overlays were added which is missing from the diagram and the description.
|
||
The SDK is composed of several key components that work together to provide the full range of Firestore features. | ||
|
||
 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if a graphviz dot representation of the diagram would be better to use rather than a png file.
TODO: Add critical information about the build process including optimizations for code size, etc. | ||
|
||
For information on how the artifacts are built, please see the [Build documentation](./build.md) file. | ||
|
||
## Testing | ||
|
||
TODO: Add critical information about the tests harness, organization, spec tests, etc. | ||
|
||
For information on how the tests are setup and organized [Testing documentation](./testing.md) file. | ||
|
||
## Developer Workflow | ||
|
||
TODO: Add list of common commands here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fill in the remaining TODOs (or remove the incomplete sections for now?)
This commit introduces a new developer documentation hub under the
devdocs
directory. The goal of this new documentation is to provide a comprehensive resource for developers working on the Firestore JS SDK.The new documentation includes: